interface EndPointParams {
  method: NormalizeArguments; // request method
  path: string; // request path
  required?: string[]; // require path params
  desc?: string; // api short message
}

export interface EndPoint {
  [key: string]: EndPointParams;
}

export interface BuildConfig {
  baseUrl: string; // request namespace
  configureOptions?: Function;
  configureHeaders?: Function;
  afterResolve?: Function;
  afterReject?: Function;
}

export type NormalizeArguments = (placeholders?: any, options?: any, ...rest: any) => NormalizeArgumentsReturn;

export interface NormalizeArgumentsReturn {
  placeholders: any;
  options: any;
}
